*******//////((((((((#########%%##########%#%%#%%%%%%%%%%%%#%%#########%%%(((((//////**********************************************************//////////((((##%%&&&&&&&&@&&@&&&@&@&&&&&&&&&&&&&&&&&%%%%
,*****///////((((((((########%%%%%#%##%%%%%%%##%%%%%%%%%%%%%%#####%###%%%(((///////**************************************************************/////////(((###%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%
,*****//////((((((((#(##(#####%%######%%#%%###%%%%%%%%%%%%#%#####%###%%%(////////************************************************************////////////(((((##%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%
******//////((((((((((((###########((########%%%%%%%%%%%%%#####%###%%%#(///////***********************************//************///////////((((((((((((((((((((#%%%&&&&&&&&&&&&&&&@@&&&&&&&&&&&&&&&%%%%%
*****///////(((((((((((#(###################%%%%%%%%%%%%%###%%###%%%%#/////////********************************//////////*///((((((#####################(((((((##%%&&&&&&&&&&&&&&&&@&&&&&&&&&&&&&&&%%%#(
****//////////(((((((((##################%%%%%%%%%%%%%%%##%###%%%%%#((////////*******************************/////(((////((((((####%%%%%%%%%%%%##%##########((((#%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%##
*//////////////((((#(##################%%%%%%%%%%%%%%%%%%%%%%%%%%#(((((///////*****************************//////(((((((((#######%%%%%%##%#%#####%%%#############%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%#((
///////(((((/////(((((###############%%%%%%%%%%%%%%%%&%%%%%%%%%#####((((///////**************************///////((((((((#########%%##############################%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%##
/////((((((((///((((((((((########%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%###((((((/////***************************//////(((((((((############((((((((((//((((((((((((####%%%%&&&&&&&&&&&&&&&&&&&%%%%%%%%%###%%##
*,,**((((((((((((((((#################%#####%%%%%%%%%%%%%%%%#%%%%%#####((((/////*************************//////(((((((((((((((((((((((/////////////////////(((((##%%%&&&&&&&&&&&&&&&&&&&&%&&%%%%%##%%###
*/*****/(((((((((((((((((((((###################%#######################(((((////***********************////////(((((((((((((((((((((/(//(////////////////////(((##%&%&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%###
**///*,**//*//(((((##(((((/((#(####(((((((((#####((######################(((((///////******************/////////((((((((((((((((((((((((((((((((((((((((((/(//(((##%&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%##
(***//****////(//(((((((((((########(/((((####((((#(####################((((((/////////******************///////(((((((((((####(########################(((((((((##%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%#
/((((/////**,,,//((((####((#(########(((########%###%%%%%%%%%%%%%%%%%%%%###(((((/////////****************//////(((((((((((((####((/////((%%%%%%%%%%%%%%##(((((((((#%%%&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%
/((((((//*,..//((((((((/((############((((######%%##(((///*/(%%%%&%&&&&%%%####(((/////*******************///////(((((((((##((///*******/#%%#%%%%%%%%%#####((((((((##%%%&&&&&&&%%%%&&&&&&&&&&%%%&%%%%%##%
(*.*(**/***,*/((//((###(#############/*/((((##%###(/////*///#%%%%%%#%%%%&%%####(((/////*********,********////////((((((#((///******,,*/(#%%%%%%%%%########((((((((###%%&&&&&&&%&&&&&&&&&&&&&%&%%%%%%%###
.,**/*,./.,,,,*////,,,/#%%###########/**//((((*/(((/////////(%%%%%%%%%%%%#%#(((((((///**********,,,,,*****/////////(((((//((//***,,,***/##%%%%%##(((((((/((((//((((##%%&&&&&&&&&&&&&&&%%%%%%%%%%%%%%####
..,/,.*,,,.,,,,**///((######%########/,*****..  *((((////////(#%%%%%%%%%####((//(((///**************************///(((((((((((/////////((###(((((((//////////////(((#%&&&&&&&&&&&&&&&&%&%%%%%%%%%%%%#%%%
..,(//((/.,.,/*.,,*((####%####((####(*,,,,.......,//((((((((((((((((((((((///////////***************************/////////////////((((((((((((/////////******//////((#%%&&&&&&&&&&&&%%%&%%%%%%%%%%%%#%%%%
*/((//,*(/*,(,*/*****/(############((,..... ...,***///////(///(((/(((((////////*******,****************************//////////////(////////////////////*****////////((#%&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%#
/(###(/###*,,(.(//(((#((#########(((/,.     ...,,***///////////////////////**********,,,******************************////////////////////////////***********///////(#%&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%#//
######(###**/,,**///((############((/,.      ..,,*******////////////////************,,,,,********************************/***/////////////////*****************/////(#%&&&&&&&&&&&&&&%&&&%%%%%%&%%%#((((
#/#####(#(*.**#((/##((/*/(########(((,.      ..,,,*****************************,*,,,,..,,,**********************************************************************////((%%&&&%&&&&&&&&&&&%%&&&%%%%%##(((((
###%###(,*,,*,.**///**,.,,**((((##((/,..    ...,,,,*************************,,,,,,,,....Tell me something I don't know.*****************************************////(#%%%&&&&&&&&&&%%%%%%%#%%%#%###(((((
%####*##/(*,*.,(((//..*,*./*/####(((/,... ......,,,,********************,,,,,,,,,,......,,,,********************************************************************/////(%%&%%&&&%%%%%%%%##((#(##%###(((((/
%%##%#/#/#/(,.  ........,. */(#####((*......,,,,,,,*****************,,,,,,,....,,.......,,,**********************************************************************/*//#%%%%%%%%%%%%%###(#######%#####((((
%%%(###(##,##(.((,..,,.  *.(/#/#####((,....,,,,,,,**************,,,,,,,,,..........  ...,,,,**********************************************************************//(%%%%%%%%%%%%######(//((###(((//(%%%
%%#(#//##/#(.#,#(*,,/., ,*.(/########(*..,,,,,,*,***,*********,,,,,,,,,,,........    ...,,,***********************************************************************//#%%%%%%%%###%#####((((((((#((/(#%%%&
%#%#((#%#(##(,,#*//((#*., .(#(/(######(,.,,,,,,,*********,,,,,,,,,,,,,,,.......       ..,,,,*********************************************************************//(%%%%%%%#%%%########((((((((*(##%&%%&
%%%#(##%%%###(* ...,,././ .###(########(,..,,,,,**,***,*,,,,,,,,,,,,,,,,,,,....      ..,,,,********************************************************************///(%%%%%%%%%%%#%%%#####((((((((#%%%&&&&&
#%%%%%%%%%%####(*/.( ,...*/*(#####%%#####,.,,,,,,,**,,,****************,,,,,,..     ...,,,,,,*,**,****************///****************************************/*//(%%%%%%&%%%%%&%%%%%#(((((((##%%&&&&&&&&
#((((((%%%%###%########%%%%%#####%%%%%%###*..,,,,,,,*,,,*******************,..     ....,,,,,*********************/////////*********************************/*///(#%%%%%%%&&%%&&&&%%%%%%%%##%%%%%&&&&&&&%
(((**(%%%%%%%%%%%%%%%%%%##%###%%%%%%%%#%###/...,,,,,*,********************,.       ....,,,,,,*********************///////////*****************************/////(%%%%%&%%%%%%&%%%%%%%%%%###%&%%&&%&%&%%&&
#//(#####%#############%%%%%&%%%%%%%%%%%%%##(,.,,,,,,********************,        ...,,,,,,,,*********************////////////////**********************//////(%%%%%%%%%%&%&%%&%%%%%%%#(#%%%%%%%%%%%&%&%
/(#*.,/#%%%%%%%%%%%%&%%%%%%%%%%%%%%%%%%%%%%##(, ,,,,********************,.    ......,,,,,,,,******,,,,*************///////////////********************///////(%%%%%%%%%%%&&%&%%%%%%%%##%%%%%%%%%%%%%%%%%
####%%%&%%%&%&&&&&%%%%%%%%%%%&%%&&&%&&&&%%%%##(, .,,,****************/**,........,,,,,,,,,,************************/////////////////***************/*///////#%%%%%%%%%%%%%%%%%%%%%##########%%%%%%%%#((#
(###%%%%%%%%&&&&&%%%&&&&&&&&&&&&&%&%%%&%%%%#####/..,,********************,,,,,,,,,,,,,,,**************************////////////////////*************//*////((####%%%%%%%%%%%######*/(##/***/*#(((#(,....,
#%%%%%%%&%%%%%%%%&&&&&&&&&&%%%%%&%%%%%%%&%%######(,.,,*********************,,****,,,,****************///////////////////////////////////////*/*/*/////////(#####((##%#(#*,,.     . ......,,.,. .,. ../..
###%#%%%%%%%%&%%%%%%&&&&&&&&&&&&&&&&&&&&%%########(*.,,***************************,,,**************//////////////////////*///////////////*/**////////////(((((((/////(%#(/.,**,*/(#/.  ./.      ./* ...,
##%%%%&%%&&%%%%%%%%%%%%%%%%&&&&&&&&&%%%%%%%########(/..,************************,***************////////////////////////*/***/*//////////**/*//////////(((((((/////////#%((((*,#####*.   .,    .*#######
###%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&%%&%%%%%#########((*.,********************************////////////////////////////**/*********/////////*//*////////((((((/////////***/%((/////######(((#############/
/####%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&%%%%%##########((/,,*******************************///////////////////////////////////////////////*/*/*////////(((((((//////*******/%(////////#########%###%####/*
//####%#%##%%%%%%&&&&&&&&&&&&&&&&&&&&&&&%%%#############(,,,,******////*/*********//**/////////////////////////////////////////////////**///////////(((((((((/////*****,**(#(///////**///(%##%#######/*,
//(##%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&%%%###############/,,****//////////******///////////////////////////////////((((((((////////////*////////////(((((((//////*/******(#(//////////*/*.... .  ......
//(((#%#%%%%%%%%%%%&%%&&&&&&&@&@&&&&&&&&%%%################(/,**/////(((/****************//*////////////////////////////((((((//////////////////////((((((///////********/(((/(////////////*.. .........
*//(((##%%%%%%%%%%&&&&&&&&&&&&@&&&&&&&&&%%####################(**////////////////////****************///////////////((((((((////////////////(((////((((((((//////***/*//((((((((/(////////////*.........
///((((#%%&&&&&&&&%&&&&&&&&&&&&&&&&&&&&&%%######################*/**///////***//((((////////////////////(/(((((((((((/////////////////////(((////((((((((////////////(((#(#(((((((((((/(////////**,,,,,,
///(/((#%%%%%&&&&&&&&&&&&&&&&&&@@&&&&&&&%%############(########(/#*/**////*/****///((((((((((((((((((((((((((((/////////////////////////(((////(((((((((///////////(###(##(((((((((((((//(((///(////*/**
//(/(((##%%%&&&&&&&&&&&&&&&&&&@&@&&&&&&&&%%####################*(#*((/,*************//////////////(((((((////////////////////////////((((((/(((((((((///////////(###########((((((((((////(((///((//////
(((((((#(##%%&&&&&&&&&&&&&&&&&&@@@@&&&&&%%%%###################/##/((/,/,******/********///////////////////////////////////////////((((((((((((((((//////////((#############(((#(##((((((/((((/(//((////
((((((((#((#%&&&&&&&&&&&&&&&&&&@&&@&&&&&%%%%###%###############/#%/##/**,//,***//////////////////////////////////(//////////////(((((((((((((((((//////////(##%##################(((((((((((((((((/((((/
##(((((###(##%&&&&&&&&&&&&&&&&&&@@@@&&&&&%%%%##%%#############(/#%*(#/**//,*/*****///////////////////////////////////////////((((((((((((((((((/////////((######%###%#%%%#%####(##((#((((((((((/((((((((
###(((###(#((#%&&&&&&&&&&&&&&&&@@@@@&&&&%&&%%##%##############*/#%((#/*//,/////*******///////////(////////////*//**///////((((((((((((((((///////////((#########%%#%%%%%%#%##########((((((##(((/(#(((((
%###########(##%&&&&&&&&&&&&&&&&@@@&@@@&&&&%%%%%##############*(##%((,//*/(((/***********///////////////*******/////////////////////(((//////(////(((#########%%%%%%%%%%%%############(((((###((((((#(((
%###########(###%&&&&&&&&&&&&&&&@@@@@&&&&%%%%%################/(###/*//*(/((/****,////**/////////////////*****///////(/////////////////////////(((#########%%%%%%%%%%%%%#%##%%########((((#####(((((((#(
&%%%#%##########%%&&&&&&&&@&&&&&&@@@&&@&&&%%%#############(###/####*/*/((((/****,*///(#((//////////////////////((///////////////////////////(((##%%#%#%%%%%%%%%%%%%%%%#%#%%%%%%###%%###((######((((((#((
&&%%%#%###########%&&&@@@@@@@&&&&@@@@&&&&&&%%######%%#########/####*//(((/***,**,////(#########/(((((((((((//////////************/////////(########%##%%%%%%%%%%%%%%%%%%%%%%%#%#%%%%############(((((###
@&@&%%%%##########%&&@@@@@&@@@&&&@@@@@@&&&&%%%#%%%%%%#########/####**(((/*,****,/////(##%###%%%#/(//(((((((((/*******************////((######%%##%#%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%#######%#####((####
@&&@@&&%%###%######%&&@@@@@@@@&&&&&&&@@@&&&&%%#%%%%%##%#######(####*(((/******,*///(/####%%%%#%((//(//((((/((((((///******///(((###############%%%%#%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%###%%#%%#####(####
@@@@@@&@&%%%%%###((##&@@@@@@@&&&&&&&&&&&&&&&%%#%%%%%%%%%%##########((((***/**,,//(///(#%%%%%%%%#/////(////(((((((((((((((((((##################%#%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%%%########